package com.gsafety.wellsfort.dao.knowledge;

import com.gsafety.wellsfort.domain.dto.course.MyWorkDTO;
import com.gsafety.wellsfort.domain.model.course.CourseRange;
import com.gsafety.wellsfort.domain.model.course.WorkPublishRange;
import com.gsafety.wellsfort.domain.model.knowledge.Work;
import com.gsafety.wellsfort.domain.vo.IndexQueryVO;
import com.gsafety.wellsfort.domain.vo.IndexWorkVO;
import com.gsafety.wellsfort.domain.vo.MyWorkListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface WorkDAO {
    int deleteByPrimaryKey(Integer id);

    int insert(Work record);

    int insertSelective(Work record);

    Work selectByPrimaryKey(Integer id);

    List<Work> selectByParam(Map param);

    List<MyWorkListVO> myWorkList(MyWorkDTO dtoParams);

    int updateByPrimaryKeySelective(Work record);

    int updateByPrimaryKey(Work record);

    List<IndexWorkVO> selectWorkByParam(IndexQueryVO queryVO);

    Integer finishWorkCount();
}